Multipath input/output (MPIO) is a data storage technique involving multiple physical and/or virtual paths between a computing system and its associated mass storage devices. With such an arrangement, one or more multipath software layers can leverage the redundant paths to provide performance-enhancing features such as fault tolerance, load balancing, traffic shaping, automatic path management, and dynamic reconfiguration. For instance, should some device or sub-system along a given path fail, the multipath software layer(s) can route I/O through the remaining devices or sub-systems transparently, with no changes visible to applications other than perhaps incremental latency.
A logical partition, or LPAR, is a subset of a computer's hardware resources, virtualized as a separate computer, or virtual machine (VM). In effect, a physical machine can be partitioned into multiple logical partitions, each hosting a separate operating system. A hypervisor or virtual machine monitor (VMM) is a piece of computer software, firmware, or hardware that creates and runs virtual machines. A computer on which a hypervisor is running one or more virtual machines is a host machine. Each virtual machine is a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems. Multiple instances of a variety of operating systems may then share the virtualized hardware resources.
Virtual input/output (VIO), or input/output (I/O) virtualization, abstracts upper-layer protocols from the physical devices of a system and thereby provides the potential to simplify management, lower costs, and improve the performance of those systems. Among the potential benefits of I/O virtualization are: (i) management agility due to the ability to dynamically expand and contract virtual I/O channels via software configuration changes rather than changes to hardware; (ii) reduced costs and/or increased density due to reduced hardware needs; and (iii) increased performance due to the ability to dynamically allocate I/O bandwidth in real time across multiple virtual connections to storage and/or network resources. In at least some implementations, one or more virtual I/O servers (VIOSes) mediate access to the physical resources, while one or more virtual client adapters (VCAs) interface with the VIOSes to provide I/O access to client software. (A controller, or adapter, is a virtual or physical device connecting a virtual or physical computer system to other network and/or storage devices.) I/O virtualization is commonly used with server systems (both real and virtual) operating in enterprise- or cloud-based environments.